C++-এ ইটরেটর ফাংশন (Iterator Functions) হল এমন ফাংশনগুলি যা কনটেইনারের মধ্যে উপাদানগুলোর ওপর ভ্রমণ করতে সাহায্য করে। ইটরেটরগুলি std::vector
, std::list
, std::set
, std::map
সহ বিভিন্ন কনটেইনারের উপাদান অ্যাক্সেস করতে ব্যবহৃত হয়। begin()
, end()
, rbegin()
, এবং rend()
হলো ইটরেটরের জন্য কিছু গুরুত্বপূর্ণ ফাংশন যা C++-এ কনটেইনারের উপাদানগুলির মধ্যে ট্রাভার্স করতে ব্যবহৃত হয়।
begin()
(প্রথম উপাদানে পয়েন্টার)begin()
ফাংশন কনটেইনারের প্রথম উপাদানটি নির্দেশ করে। এটি একটি ইটরেটর রিটার্ন করে যা কনটেইনারের প্রথম উপাদানে পয়েন্ট করে।
begin()
ফাংশন কনটেইনারের প্রথম উপাদানের আগে থেকে ট্রাভার্স শুরু করতে ব্যবহৃত হয়।#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = {10, 20, 30, 40, 50};
// begin() ব্যবহার করে প্রথম উপাদান প্রিন্ট করা
std::cout << "First element: " << *numbers.begin() << std::endl;
return 0;
}
আউটপুট:
First element: 10
end()
(শেষ উপাদানের পরবর্তী পয়েন্টার)end()
ফাংশন কনটেইনারের শেষ উপাদানের পরবর্তী স্থানে একটি ইটরেটর রিটার্ন করে। এটি একটি নির্দিষ্ট মানের পয়েন্টার নয়, বরং কনটেইনারের শেষের পরবর্তী স্থানের একটি অবস্থান নির্দেশ করে। এই ইটরেটরের মান কোনো উপাদানকে নির্দেশ করে না এবং এটি কনটেইনারের শেষের বাইরে।
end()
ফাংশন সাধারণত লুপে কনটেইনারের উপাদানগুলির মধ্য দিয়ে ট্রাভার্স করতে ব্যবহৃত হয়।#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = {10, 20, 30, 40, 50};
// end() ব্যবহার করে সব উপাদান প্রিন্ট করা
for (auto it = numbers.begin(); it != numbers.end(); ++it) {
std::cout << *it << " ";
}
return 0;
}
আউটপুট:
10 20 30 40 50
rbegin()
(পিছনে থেকে প্রথম উপাদানে পয়েন্টার)rbegin()
ফাংশন কনটেইনারের শেষ উপাদান থেকে শুরু করে প্রথম উপাদানে পয়েন্ট করে। এটি একটি রিভার্স ইটরেটর রিটার্ন করে, যা কনটেইনারের উপাদানগুলো উল্টো দিক থেকে ট্রাভার্স করতে ব্যবহৃত হয়।
rbegin()
ফাংশন কনটেইনারের উপাদানগুলো উল্টো (পিছন থেকে সামনে) ক্রমে অ্যাক্সেস করতে ব্যবহৃত হয়।#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = {10, 20, 30, 40, 50};
// rbegin() ব্যবহার করে উল্টো দিক থেকে উপাদান প্রিন্ট করা
for (auto it = numbers.rbegin(); it != numbers.rend(); ++it) {
std::cout << *it << " ";
}
return 0;
}
আউটপুট:
50 40 30 20 10
rend()
(রিভার্স শেষে পয়েন্টার)rend()
ফাংশন কনটেইনারের রিভার্স শেষের পরবর্তী স্থানে একটি ইটরেটর রিটার্ন করে। এটি rbegin()
এর মতো কাজ করে, তবে এটি শেষ উপাদান থেকে এক স্থান পরবর্তী অবস্থান নির্দেশ করে।
rend()
ফাংশন রিভার্স ট্রাভার্সে শেষ অবস্থানকে চিহ্নিত করে, যেখানে ট্রাভার্স শেষ হয়।#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = {10, 20, 30, 40, 50};
// rbegin() ও rend() ব্যবহার করে উল্টো দিক থেকে উপাদান প্রিন্ট করা
for (auto it = numbers.rbegin(); it != numbers.rend(); ++it) {
std::cout << *it << " ";
}
return 0;
}
আউটপুট:
50 40 30 20 10
ফাংশন | বর্ণনা |
---|---|
begin() | কনটেইনারের প্রথম উপাদানে একটি ইটরেটর রিটার্ন করে। |
end() | কনটেইনারের শেষ উপাদানের পরবর্তী স্থানে একটি ইটরেটর রিটার্ন করে। |
rbegin() | কনটেইনারের শেষ উপাদানে শুরু হওয়া রিভার্স ইটরেটর রিটার্ন করে। |
rend() | কনটেইনারের প্রথম উপাদানের পরবর্তী স্থানে রিভার্স ইটরেটর রিটার্ন করে। |
begin()
এবং end()
ফাংশনগুলি কনটেইনারের উপাদানগুলোর মধ্যে ফরওয়ার্ড ট্রাভার্স (সামনে থেকে পিছনে) করতে ব্যবহৃত হয়।rbegin()
এবং rend()
ফাংশনগুলি কনটেইনারের উপাদানগুলোর মধ্যে রিভার্স ট্রাভার্স (পিছনে থেকে সামনে) করতে ব্যবহৃত হয়।Read more